/* eslint-disable @typescript-eslint/no-explicit-any */
function customElement(name: string) {
  return (target: any, context?: ClassDecoratorContext) => {
    context?.addInitializer(function () {
      customElements.define(name, this as any);
    });
  };
}

@customElement("my-element")
class MyElement extends HTMLElement {}
